//! \file Behavior_TODO.h
//! \brief Defines the <code>fullsail_ai::fundamentals::Selector</code> class.
//! \author Jeremiah Blanchard

#include <queue>
#include <stack>
#include "Selector.h"

namespace fullsail_ai { namespace fundamentals {

	Selector::Selector(char const* _description) : Behavior(_description)
	{
	}

	bool Selector::run(void (*dataFunction)(Behavior const*), Agent* agent)
	{
		unsigned int numChildren = children.size();
		for (unsigned int i = 0; i < numChildren; i++)
		{
			if (children[i]->run(dataFunction, agent))
			{
				dataFunction(this);
				return true;
			}
		}
		return false;
	}

}}  // namespace fullsail_ai::fundamentals
